package com.xinsoft.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xinsoft.common.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 工序计划
 * @TableName mes_process_plan
 */
@TableName(value ="mes_process_plan")
@Data
public class MesProcessPlan extends BaseEntity {
    /**
     * 生产计划ID
     */
    private Integer producePlanId;

    /**
     * 工序状态
     */
    private Integer processStatus;

    /**
     * 工序编号
     */
    private String processNo;

    /**
     * 源单主键
     */
    private Integer sourceId;

    /**
     * 源单code
     */
    private String sourceCode;

    /**
     * 源单类型
     */
    private Integer sourceType;

    /**
     * 产品ID
     */
    private Integer materialId;

    /**
     * 生产部门
     */
    private Integer deptId;

    /**
     * 打印状态 已打印1 未打印0 默认0
     */
    private Integer printStatus;

    /**
     * 生产类型
     */
    private Integer produceType;

    /**
     * 是否限额(0不限/1限)
     */
    private Integer doLimit;

    /**
     * 计划生产数量
     */
    private BigDecimal planNum;

    /**
     * 投料数量
     */
    private BigDecimal feedingNum;

    /**
     * 辅助单位计划生产数量
     */
    private BigDecimal assistNum;

    /**
     * 辅助单位
     */
    private Integer assistUom;

    /**
     * 换算系数
     */
    private BigDecimal convCoefficient;

    /**
     * 
     */
    private String batchNo;

    /**
     * 计划开始时间
     */
    private Date planStartTime;

    /**
     * 计划完工时间
     */
    private Date planEndTime;

    /**
     * BOMID
     */
    private Integer bomId;

    /**
     * 完工数量上限
     */
    private BigDecimal completionMax;

    /**
     * 完工下限
     */
    private BigDecimal completionMin;

    /**
     * 是否检验
     */
    private Integer doCheck;

    /**
     * 检验方案
     */
    private Integer inspectionScheme;

    /**
     * 客户ID
     */
    private Integer clientId;

    /**
     * 客户名称
     */
    private String clientName;

    /**
     * 交货期
     */
    private Date deliveryDate;

    /**
     * 客户产品名称
     */
    private String clientProductName;

    /**
     * 客户产品批号
     */
    private String clientProductNo;

    /**
     * 下达人
     */
    private Integer assignId;

    /**
     * 下达时间
     */
    private Date assignTime;

    /**
     * 优先程度 1-极高 2-高  3-中 4-低 5-极低
     */
    private Integer firstLevel;

    /**
     * 结案时间（实际完成时间）
     */
    private Date actualFinishTime;

    /**
     * 审核人
     */
    private Integer auditId;

    /**
     * 审核状态 0-未审核 1-已审核
     */
    private Integer auditStatus;

    /**
     * 是否已完成首检检验   1是 0否
     */
    private Integer doFirstInspection;
}